package com.ruoyi.hqfinance.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.logistic.domain.NetworkName;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.sql.Date;
import java.sql.Timestamp;

/**
 * 总部财务-结算账户交易明细-代收货款账户交易明细
 */
@Data
public class HqReplaceGoodsDealDetail implements Serializable {
    private static final long serialVersionUID = 6544790914202144461L;
    /** 主键 */
    private Integer id;

    /** 业务日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "业务日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date setlDt;

    /** 记账日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "记账日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date processTime;

    /** 网点信息id */
    @Excel(name = "网点信息id")
    private Integer networkNameId;

    /** 业务类型id */
    @Excel(name = "业务类型id")
    private Integer hqBusinessTypeId;

    /** 业务摘要 */
    @Excel(name = "业务摘要")
    private String businessAbstract;

    /** 费用名称id */
    @Excel(name = "费用名称id")
    private Integer hqCostSubjectId;

    /** 费用科目收付类型 */
    @Excel(name = "费用科目收付类型")
    private String costSubjectType;

    /** 发生额(收入) */
    @Excel(name = "发生额(收入)")
    private BigDecimal income;

    /** 发生额(支出) */
    @Excel(name = "发生额(支出)")
    private BigDecimal expend;

    /** 余额 */
    @Excel(name = "余额")
    private BigDecimal balance;

    /** 报表业务日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "报表业务日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date statementDate;

    /** 联系方式 */
    @Excel(name = "联系方式")
    private String contactInfo;

    /** 账单类型 */
    @Excel(name = "账单类型")
    private String billType;

    /** 关联单号 */
    @Excel(name = "关联单号")
    private String relevanceCode;

    /** 银行账号 */
    @Excel(name = "银行账号")
    private String bankNumber;

    /** 网点状态 */
    @Excel(name = "网点状态")
    private String networkType;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Timestamp createTime;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Timestamp updateTime;

    private NetworkName networkName;

    private HqBusinessType hqBusinessType;

    private HqReplaceGoodsCostSubject hqReplaceGoodsCostSubject;
}
